home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Tools 5
/
Amiga Tools 5.iso
/
spiele
/
patches
/
gloomc2p10
/
gloomc2p10.doc
< prev
next >
Wrap
Text File
|
1996-01-04
|
5KB
|
130 lines
Alternative C2P Routines v1.0 for Gloom Deluxe 4 Jan 1996
----------------------------------------------
This archive is intended to be used with the wonderful Gloom Deluxe
Demo by Mark Sibly of Black Magic Software. Hopefully it also works
with the full commercial version of Gloom Deluxe.
The files in this archive may be distributed anywhere provided they are
unmodified and are not sold for profit.
Ownership and copyright of all files remains with the author:
Peter McGavin, 86 Totara Crescent, Lower Hutt, New Zealand.
e-mail: p.mcgavin@irl.cri.nz
A feature of Gloom Deluxe Demo is that users can write their own
chunky to planar (c2p) routines for Amiga native displays. It is
possible to make Gloom Deluxe Demo faster on some machines.
This archive contains some c2p routines that I wrote. They supplement
the c2p/blackmagic_1 routines supplied with Gloom Deluxe Demo.
Note: there is little point in using these routines if you have a
3rd-party graphics card and cybergraphics.
c2p/020_1 is optimised for 68020. The routines for a pixel width of 1
are about the same speed as blackmagic_1. However the routines for
double-width pixels are twice as fast when 32-bit chipmem is
available.
c2p/040_1 is optimised for 68040 and 32-bit chipmem, e.g, A4000/040 or
A3000+accelerator. It is up to twice as fast as c2p/blackmagic_1 on
an A4000/040. It may be faster than c2p/blackmagic_1 on some 68030
systems as well.
c2p/akiko_1 is optimised for 68020+akiko, e.g, a CD32. It is 3 or 4
times faster than c2p/blackmagic_1, but it requires an Akiko chip and
kickstart 3.1.
Note: Although my c2p routines are up to several times faster than
c2p/blackmagic_1, the difference may not always be noticeable because
Gloom spends only a fraction its time converting chunky to planar.
To use these routines in Gloom Deluxe Demo:
1: Copy the files c2p/020_1, c2p/040_1 and c2p/akiko_1 to your Gloom
Deluxe Demo c2p/ directory.
2: Run Gloom setup from the icon.
3: Select either "Gloom Deluxe" or "Gloom on a Screen".
4: Click on "Select c2p routine" and choose one of 020_1, 040_1 or
akiko_1.
5: If you selected "Gloom on a Screen", click on "Select ScreenMode"
and choose a native screenmode, e.g, "PAL LORES".
6: Save the setup and double-click the "playgloom" icon.
If the Gloom Deluxe Demo display is strange, flickery or blank, try
"Select ScreenMode" in setup again. I found that changing the c2p
routine sometimes upsets the ScreenMode option, so select the
ScreenMode -last-.
Note: Most of my routines use 32-bit writes to chip memory. Some
Gloom Deluxe Demo window sizes are not 32-bit aligned, and in those
cases 32-bit chip writes are very inefficient. For best results,
choose the largest or smallest window size, or one of every second
size inbetween.
I have also included TimeC2P, a little Shell program for testing and
timing c2p routines. Use TimeC2P from the Shell as follows:
Usage: TimeC2P c2p/c2pfile n
where n=0 to time width 1 AGA
n=1 " " " 1 EHB
n=2 " " " 2 AGA
n=3 " " " 2 EHB
Example: TimeC2P c2p/blackmagic_1 1
You can use TimeC2P to find out which c2p routines are fastest on your
system. Here are some results from my own testing:
256x180 C2P time in milliseconds:
WarpEngine MMR CD32+Fast Chip-CD32 A4000/040
-----------------------------------------------------------------------------
c2p/blackmagic_1 width 1 AGA na na 55.5 61.6 27.2
c2p/020_1 width 1 AGA na na 54.6 62.0 25.9
c2p/040_1 width 1 AGA na na 77.6 175.6 18.6
c2p/akiko_1 width 1 AGA na na 17.6 24.2 na
c2p/blackmagic_1 width 1 EHB 17.7 27.3 48.7 53.6 21.1
c2p/020_1 width 1 EHB 17.5 23.7 43.3 49.2 19.9
c2p/040_1 width 1 EHB 10.0 39.8 56.0 103.9 14.2
c2p/akiko_1 width 1 EHB na na 13.9 19.3 na
c2p/blackmagic_1 width 2 AGA na na 60.1 62.3 26.3
c2p/020_1 width 2 AGA na na 28.5 31.9 14.6
c2p/040_1 width 2 AGA na na 31.5 35.0 13.1
c2p/akiko_1 width 2 AGA na na 19.0 22.2 na
c2p/blackmagic_1 width 2 EHB 17.4 27.7 52.2 54.1 20.0
c2p/020_1 wicth 2 EHB 8.8 19.6 23.2 25.7 10.1
c2p/040_1 width 2 EHB 8.8 17.9 24.6 27.1 9.8
c2p/akiko_1 width 2 EHB na na 13.9 16.4 na
-----------------------------------------------------------------------------
WarpEngine = A3000 + 40MHz 68040 WarpEngine + 60ns Fastmem
MMR = A500 + 33MHz 68030 MegaMidgetRacer + 32-bit Fastmem
CD32+Fast = CD32 + SX-1 + 32-bit Fastmem
Chip-CD32 = CD32 + SX-1, no Fastmem
A4000/040 = A4000 + 25 MHz 68040 + 32-bit Fastmem
If you improve any routines, please send me the code. I would also
appreciate a free copy of any game that uses my routines.
Known bug: The width-2 Akiko routines scramble the display when the
window width is not a multiple of 64. No harm done --- just select
another window size.
Disclaimer: These routines work for me. There is no guarantee.